﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//unsigned char i = 0;
//int main()
//{
//	for (i = 0; i <= 255; i++)
//	{
//		printf("hello world\n");
//	}
//	return 0;
//}//死循环

//int main()
//{
//	unsigned int i;
//	for (i = 9; i >= 0; i--)
//	{
//		printf("%u\n", i);
//	}
//	return 0;
//}//死循环


//X86环境 ⼩端字节序
//int main()
//{
//	int a[4] = { 1, 2, 3, 4 };//01000000 02000000 03000000 04000000
//	int* ptr1 = (int*)(&a + 1);//指针+1取决于整型类型
//	int* ptr2 = (int*)((int)a + 1);//(int)a + 1是整数+1.就是普通的加法+1(地址加一个字节)
//	printf("%x, %x", ptr1[-1], *ptr2);// ptr1[-1]==*(ptr-1).   0x02000000
//	return 0;
//}

//浮点数在内存中的存储
//int main()
//{
//	int n = 9;//
//	float* pFloat = (float*)&n;
//	printf("n的值为：%d\n", n);//结果是9
//	printf("*pFloat的值为：%f\n", *pFloat);//0.0，说明整数和浮点数内存存储方式不一样
//	*pFloat = 9.0;                        
//	printf("num的值为：%d\n", n);        //说明整数和浮点数内存存储方式不一样
//	printf("*pFloat的值为：%f\n", *pFloat);//结果是9.0
//	return 0;
//}
 
 
//任意⼀个⼆进制浮点数V可以表⽰成下⾯的形式：
//V = (−1)^S *M ∗ 2^E
//•(−1)^S 表⽰符号位，当S = 0，V为正数；当S = 1，V为负数
//• M 表⽰有效数字，M是⼤于等于1，⼩于2的
//• 2^E,E表⽰指数位，例如：5.5--》2进制为101.1 =1.011*2^2
//int main()
//{
//	float f = 5.5f;//101.10->(-1)^(0)*1.0110*2^2 M=1.011 E=2 S=0
//	//0 2+127=129->10000001 01100000000000000000000  S E M
//	//40 B0 00 00
//	return 0;
//}


//自定义类型：结构体（struct）
//struct book
//{
//	char name[20];
//	char author[20];
//	float price;
//	char id[20];
//};
////struct book b2;//全局变量
//int main()
//{
//	struct book b1 = { "鹏哥c语言","鹏哥",18.8,"PG1001" };//方法1：局部变量（按顺序打印）
//	struct book b2 = { .id = "PG1001", .name = "鹏哥c语言" , .author = "鹏哥", .price = 18.8};//方法2：局部变量（不按顺序）
//	return 0;
//}


// 匿名结构体类型(只能用一次)
//struct
//{
//	char c;
//	int i;
//	double d;
//}s = {'x',2,3.14};//在这里创建变量
//int main()
//{
//	struct s;
//	printf("%c %d %lf\n", s.c, s.i, s.d);
//	return 0;
//}


//结构的自应用
//struct Node//方法1
//{
//	int data;//数据
//	struct Node* next;//指针
//};         


//typedef struct
//{
//	int data;
//	Node* next;
//}Node;    //error
//typedef struct Node
//{
//	int data;
//	struct Node* next;
//}Node;  //ok


